package cn.dengta.webapp.im.vo;

import javax.annotation.Nullable;

import cn.dengta.common.model.ValueProxyImpl;
import cn.dengta.webapp.base.vo.AbstractVO;
import cn.dengta.webapp.im.entity.UserGreetText;
import cn.dengta.webapp.user.model.AuditStatus;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Getter;
import lombok.Setter;
import me.codeplayer.util.StringUtil;

@Getter
@Setter
public class UserGreetTextVO extends AbstractVO<UserGreetText> {

	/** 用户ID */
	private Long userId;
	/** 搭讪内容 */
	private String content;
	/** 类型：0=文本；1=图片；2=音频；3=视频 */
	private Integer type;
	/** 搭讪图片 */
	private String image;
	/** 音频 */
	@JSONField(jsonDirect = true)
	private String audio;
	/** 视频 */
	@JSONField(jsonDirect = true)
	private String video;
	/** 是否选中 */
	private Integer isSelect;
	/** 是否可修改 */
	private Boolean canEdit;
	/** 状态 */
	private Integer status;
	/** 拒绝原因 */
	private String remark;

	/**
	 * 用于后台页面多语言展示
	 */
	public static UserGreetTextVO from(@Nullable UserGreetText source) {
		UserGreetTextVO vo = copy(source, UserGreetTextVO::new);
		if (vo != null) {
			vo.canEdit = source.canEdit();
			vo.type = 0;
			if (StringUtil.notEmpty(source.getImage())) {
				vo.type = 1;
			} else if (StringUtil.notEmpty(source.getAudio())) {
				vo.type = 2;
			} else if (StringUtil.notEmpty(source.getVideo())) {
				vo.type = 3;
			}
		}
		if (vo != null) {
			vo.setStatus(source.getStatus());
		}
		return vo;
	}

	public String getStatus_() {
		return ValueProxyImpl.label(AuditStatus.of(this.status));
	}

}
